﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Styx.Helpers;
using System.IO;
using Styx;
using Styx.Common;

namespace ForstDoeninge
{
    public class CRSettings : Settings
    {
        public static readonly CRSettings myPrefs = new CRSettings();

        public CRSettings()
            : base(Path.Combine(Utilities.AssemblyDirectory, string.Format(@"Config/Pasterke/Mage/{0}-{1}-FrostSettings.xml", StyxWoW.Me.RealmName, StyxWoW.Me.Name)))
        {
        }

        [Setting, DefaultValue(false)]
        public bool Movement { get; set; }

        [Setting, DefaultValue(false)]
        public bool Facing { get; set; }

        [Setting, DefaultValue(false)]
        public bool Targetting { get; set; }

        [Setting, DefaultValue(85)]
        public int ArcaneTorrent { get; set; }

        [Setting, DefaultValue(5)]
        public int PauseKey { get; set; }

        [Setting, DefaultValue(6)]
        public int AoePauseKey { get; set; }

        public enum Keypress
        {
            None,
            LSHIFT,
            RSHIFT,
            LCTRL,
            RCTRL,
            LALT,
            RALT
        };

        [Setting, DefaultValue(Keypress.None)]
        public Keypress PauseKeys { get; set; }

        [Setting, DefaultValue(Keypress.None)]
        public Keypress AoePauseKeys { get; set; }

        [Setting, DefaultValue(true)]
        public bool PrintMsg { get; set; }

        [Setting, DefaultValue(4)]
        public int ElitesHealth { get; set; }

        [Setting, DefaultValue(false)]
        public bool alchemyflask { get; set; }

        [Setting, DefaultValue(false)]
        public bool jadepotion { get; set; }

        [Setting, DefaultValue(false)]
        public bool intflask { get; set; }

        [Setting, DefaultValue(55)]
        public int healthstonepercent { get; set; }

        [Setting, DefaultValue(35)]
        public int naruupercent { get; set; }

        [Setting, DefaultValue(false)]
        public bool trinket1 { get; set; }

        [Setting, DefaultValue(false)]
        public bool trinket2 { get; set; }

        [Setting, DefaultValue(false)]
        public bool gloves { get; set; }

        [Setting, DefaultValue(35)]
        public float range { get; set; }

        [Setting, DefaultValue(55)]
        public int EatDrink { get; set; }

        [Setting, DefaultValue(85)]
        public int IceBarrier { get; set; }

        [Setting, DefaultValue(0)]
        public int Armor { get; set; }

        [Setting, DefaultValue(3)]
        public int UseAoe { get; set; }

        [Setting, DefaultValue(false)]
        public bool useFireBlast { get; set; }

        [Setting, DefaultValue(0)]
        public int IcyVeins { get; set; }

        [Setting, DefaultValue(0)]
        public int MirrorImage
        {
            get;
            set;
        }
        [Setting, DefaultValue(0)]
        public int FrozenOrb { get; set; }

        [Setting, DefaultValue(false)]
        public bool RingOfFrost { get; set; }

        [Setting, DefaultValue(0)]
        public int AlterTime { get; set; }

        [Setting, DefaultValue(true)]
        public bool Counterspell { get; set; }

    }
}
